package com.example.parent.bookmanage_mybatisplus.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.parent.bookmanage_mybatisplus.entity.EBook;
import com.example.parent.bookmanage_mybatisplus.dao.BookMapper;
import com.example.parent.bookmanage_mybatisplus.service.BookService;
import org.springframework.stereotype.Service;

/**
 * 电子书服务实现类（基于MyBatis-Plus）
 * 继承ServiceImpl获取通用业务逻辑实现，无需手动编写基础CRUD代码
 * 实现BookService接口，可扩展自定义业务逻辑
 */
@Service // 标识为服务层组件，由Spring容器管理
// 继承ServiceImpl<BookMapper, EBook>：
// - 第一个泛型为对应的Mapper接口（BookMapper）
// - 第二个泛型为实体类（EBook）
// ServiceImpl内部封装了对BaseMapper的调用，提供了IService接口的默认实现
public class BookServiceImpl extends ServiceImpl<BookMapper, EBook> implements BookService {
    // 无需编写额外代码即可使用IService接口中的所有方法，例如：
    // - save(EBook entity)：新增或更新
    // - removeById(Integer id)：根据ID删除
    // - list()：查询所有
    // - getById(Integer id)：根据ID查询
    // - updateById(EBook entity)：根据ID更新
    // - count()：统计总数
    // 如需扩展自定义业务逻辑，可在此处添加方法实现
    // 例如：
    // public List<EBook> getBooksByAuthor(String author) {
    //     QueryWrapper<EBook> queryWrapper = new QueryWrapper<>();
    //     queryWrapper.eq("author", author);
    //     return baseMapper.selectList(queryWrapper);
    // }
}